package com.ruoyi.order.service;

import java.math.BigDecimal;

import javax.servlet.http.HttpServletRequest;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.order.domain.AppStoreNotifyPayLoadDto;
import com.ruoyi.order.domain.OrderEvaluate;
import com.ruoyi.order.pojo.AppMyOrderDTO;
import com.ruoyi.order.pojo.AppProjectDTO;

public interface AppOrderService {

	/**
	 * 	获取支付订单
	 * @param payType		1=微信 2=支付宝
	 * @param businessId	业务ID
	 * @param money			金额-安卓自定义充值
	 * @param type			1=充值VIP 6=充值虚拟币
	 * @param request
	 * @return
	 */
	AjaxResult getOrder(Integer payType,Long businessId,BigDecimal money,Integer type,String orderNo,String dynamicIds,Long couponId,Long toUserId,HttpServletRequest request);
	
	/**
	 * 	我的订单
	 * @param orderStatus	1=待付款 2=待服务 3=进行中 4=已完成
	 * @param pageNo		开始页
	 * @param request
	 * @return
	 */
	AjaxResult getOrderList(Integer orderStatus,Integer pageNo,HttpServletRequest request);
	
	/**
	 * 	取消订单
	 * @param order		订单号
	 * @param request
	 * @return
	 */
	AjaxResult cancelOrder(String orderNo,HttpServletRequest request);
	
	/**
	 * 	订单 催单
	 * @param order			订单号
	 * @param request
	 * @return
	 */
	AjaxResult reminderOrder(String orderNo,HttpServletRequest request);
	
	/**
	 * 	订单投诉
	 * @param order
	 * @param request
	 * @return
	 */
	AjaxResult orderComplaint(AppMyOrderDTO order,HttpServletRequest request);
	
	/**
	 * 	订单评价
	 * @param orderEvaluate
	 * @param request
	 * @return
	 */
	AjaxResult orderEvaluate(OrderEvaluate orderEvaluate,HttpServletRequest request);
	
	
	/**
	 * 	提现记录
	 * @param pageNo
	 * @param request
	 * @return
	 */
	AjaxResult withdrawalRecord(Integer pageNo,HttpServletRequest request);
	
	/**
	 * 	充值记录
	 * @param pageNo
	 * @param request
	 * @return
	 */
	AjaxResult rechargeRecord(Integer pageNo,HttpServletRequest request);
	
	/**
	 * 	VIP购买记录
	 * @param pageNo
	 * @param request
	 * @return
	 */
	AjaxResult vipBuyRecord(Integer pageNo,HttpServletRequest request);
	
	/**
	 * 充值VIP
	 * @param businessId	VIP规格ID
	 * @param request
	 * @return
	 */
	AjaxResult buyVip(Long businessId,HttpServletRequest request);
	
	/**
	 * 	收益记录
	 * @param pageNo
	 * @return
	 */
	AjaxResult getIncomeRecord(Integer pageNo);
	
	/**
	 * 	消费记录
	 * @param pageNo
	 * @return
	 */
	AjaxResult getConsumeRecord(Integer pageNo);
	
	
	/**
	 * 	咨询项目操作
	 * @param project
	 * @return
	 */
	AjaxResult projectOperate(AppProjectDTO project);
	
	String appStoreMsgNotify(AppStoreNotifyPayLoadDto appStoreNotifyPayLoadDto);
	
}
